Модуль № 2 · Лента событий · Аудитор доступа

Лента событий

Элементы 2.1.3 «Журнал аудита» и 2.3.1 «Журнал входов и сессий» — представления одной ленты (R-AU1).

Событий в выборке
0
Отказов
0
Ошибок
0
Сигналов не разобрано
0
КогдаКтоОткудаЧтоРезультат

Нажмите строку или Enter — откроется карточка события: дельта значений, выгрузка, отказ, пакет, основание.

Массовая операция — одно событие пакета со ссылкой на строки, а не десять тысяч записей (R-AU9): иначе один импорт вытесняет из ленты всё остальное. Изменения и удаления записей журнала нет ни у кого, включая суперпользователя (R-AU2), поэтому на экране нет и кнопок.

Входы и сессии

Элемент 2.3.1. Слева состояние — кто в системе сейчас; ниже лента — кто входил и с каким исходом.

Живые сессии
КтоУстройство и сетьНачалоБездействиеСостояние
История входов
Неудачные попытки хранятся вместе с успешными, а не отдельным списком: серия отказов, завершившаяся успехом, — это подбор пароля, и в двух разных списках он не виден.
КогдаКтоОткудаСобытиеРезультат

Требования к паролям, 2FA и SSO — элемент 2.2.5, не этот экран. Действующий режим площадки: пароль + 2FA для ролей администрирования — чтобы «вход без 2FA» читался как ожидаемый, а не как находка.

Права на дату

Элемент 2.3.2 «Отчёт по правам и доступу». Единственное, чего нет в карточке доступа: состояние на прошедшую дату.

Срез не хранится, а восстанавливается из ленты назначений: копия состояния на каждую дату была бы вторым источником правды рядом с историей. Отсюда требование R-AU4 — событие несёт обе стороны изменения. По записи «Иванов выдал Петрову WP.NSI.OPER» без прежнего значения нельзя понять, было ли право до неё.

Подозрительная активность

Элемент 2.3.3. Появляется с A3 и B3: сигнал без контура разбора — это письмо, которое некому обработать.

Пороги — параметры площадки (элемент 2.5.1), а значения ниже — умолчания, а не истина. То же решение, что Р168 для порогов НСИ: одно и то же число в разных организациях означает разное.
ПравилоНаблюдениеПорог площадкиСостояние
«Признать нормой» — именованное исключение со сроком и автором, а не скрытие (R-AU8). Скрытие вычищает ленту, и правило тихо умирает: формально включено, не срабатывает ни разу.
ПравилоКого касаетсяОснованиеКто завёлДействует до
Контракт экрана — для разработчика Vue/Laravel

Источник данных

Объекты доступа, операции, роли и классы чувствительности — из build/config/takt-config.json (сборка scripts/export_config.py из книги и Ролевая_модель.md). События — данные приложения, таблица только на запись и чтение: GRANT INSERT, SELECT и ничего больше (R-AU2).

Компоненты

EventFeedprops: view, filters, rows; emit select-event. Пагинация курсором по времени, не смещением: лента дописывается во время просмотра.
EventCardдельта полей, маскирование по классу чувствительности (v-can на поле, не на карточке), ссылка на пакет.
SessionListживые сессии, действие «завершить» под v-can="'APPR'".
RightsAsOfprops: date, subject; расчёт на сервере, свёртка ленты назначений.
SignalCardправило, наблюдение, порог, четыре действия; состояние open / closed / excepted.

Расчёты — на сервере

Срез прав на дату, группировка отказов и срабатывание правил считаются на сервере: на клиент приходит готовый результат. Здесь они выполнены в браузере только потому, что прототип самодостаточен.

Чего на экране нет и не будет

Кнопок «изменить» и «удалить» у события; ручного ввода записи журнала; удаления сигнала. Отсутствие — не пробел, а инварианты R-AU2 и R-AU8.